package com.nimitz.module.employee.domain;

import com.nimitz.common.annotation.Excel;
import com.nimitz.common.annotation.Excel.Type;
import com.nimitz.common.annotation.Excels;
import com.nimitz.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 入职记录表 emp_induction
 */
@ApiModel(value = "EmpInduction对象", description = "入职记录表")
public class EmpInduction extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 入职id
     */
    @ApiModelProperty(value = "入职id")
    private Integer inductionId;

    /**
     * 人员id
     */
    @ApiModelProperty(value = "人员id")
    private Integer employeeId;

    /**
     * 操作人
     */
    @Excel(name = "操作人")
    @ApiModelProperty(value = "操作人")
    private String inductionOperateName;

    /**
     * 操作日期
     */
    @Excel(name = "操作日期")
    @ApiModelProperty(value = "操作日期")
    private String inductionOperateDate;

    /**
     * 提交人
     */
    @Excel(name = "提交人")
    @ApiModelProperty(value = "提交人")
    private String inductionSubmitName;

    /**
     * 提交日期
     */
    @Excel(name = "提交日期")
    @ApiModelProperty(value = "提交日期")
    private String inductionSubmitDate;

    /**
     * 驳回人
     */
    @Excel(name = "驳回人")
    @ApiModelProperty(value = "驳回人")
    private String inductionRejectName;

    /**
     * 驳回日期
     */
    @Excel(name = "驳回日期")
    @ApiModelProperty(value = "驳回日期")
    private String inductionRejectDate;

    /**
     * 驳回原因
     */
    @Excel(name = "驳回原因")
    @ApiModelProperty(value = "驳回原因")
    private String inductionRejectReason;

    /**
     * 审核人
     */
    @Excel(name = "审核人")
    @ApiModelProperty(value = "审核人")
    private String inductionAuditName;

    /**
     * 审核日期
     */
    @Excel(name = "审核日期")
    @ApiModelProperty(value = "审核日期")
    private String inductionAuditDate;

    /**
     * 人员对象
     */
    @Excels({@Excel(name = "人员名称", targetAttr = "employeeName", type = Type.EXPORT),
            @Excel(name = "警号", targetAttr = "employeeCode", type = Type.EXPORT)})
    @ApiModelProperty(value = "人员对象")
    private EmpEmployee inductionEmployee;

    /**
     * 状态：0=待审核,1=审核中,2=已通过,3=未通过
     */
    @Excel(name = "状态", readConverterExp = "0=待审核,1=审核中,2=已通过,3=未通过")
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 删除标志：0=存在,1=删除
     */
    private String delFlag;

    public Integer getInductionId() {
        return inductionId;
    }

    public void setInductionId(Integer inductionId) {
        this.inductionId = inductionId;
    }

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public String getInductionOperateName() {
        return inductionOperateName;
    }

    public void setInductionOperateName(String inductionOperateName) {
        this.inductionOperateName = inductionOperateName;
    }

    public String getInductionOperateDate() {
        return inductionOperateDate;
    }

    public void setInductionOperateDate(String inductionOperateDate) {
        this.inductionOperateDate = inductionOperateDate;
    }

    public String getInductionSubmitName() {
        return inductionSubmitName;
    }

    public void setInductionSubmitName(String inductionSubmitName) {
        this.inductionSubmitName = inductionSubmitName;
    }

    public String getInductionSubmitDate() {
        return inductionSubmitDate;
    }

    public void setInductionSubmitDate(String inductionSubmitDate) {
        this.inductionSubmitDate = inductionSubmitDate;
    }

    public String getInductionRejectName() {
        return inductionRejectName;
    }

    public void setInductionRejectName(String inductionRejectName) {
        this.inductionRejectName = inductionRejectName;
    }

    public String getInductionRejectDate() {
        return inductionRejectDate;
    }

    public void setInductionRejectDate(String inductionRejectDate) {
        this.inductionRejectDate = inductionRejectDate;
    }

    public String getInductionRejectReason() {
        return inductionRejectReason;
    }

    public void setInductionRejectReason(String inductionRejectReason) {
        this.inductionRejectReason = inductionRejectReason;
    }

    public String getInductionAuditName() {
        return inductionAuditName;
    }

    public void setInductionAuditName(String inductionAuditName) {
        this.inductionAuditName = inductionAuditName;
    }

    public String getInductionAuditDate() {
        return inductionAuditDate;
    }

    public void setInductionAuditDate(String inductionAuditDate) {
        this.inductionAuditDate = inductionAuditDate;
    }

    public EmpEmployee getInductionEmployee() {
        return inductionEmployee;
    }

    public void setInductionEmployee(EmpEmployee inductionEmployee) {
        this.inductionEmployee = inductionEmployee;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("inductionId", getInductionId())
                .append("employeeId", getEmployeeId())
                .append("inductionOperateName", getInductionOperateName())
                .append("inductionOperateDate", getInductionOperateDate())
                .append("inductionSubmitName", getInductionSubmitName())
                .append("inductionSubmitDate", getInductionSubmitDate())
                .append("inductionRejectName", getInductionRejectName())
                .append("inductionRejectDate", getInductionRejectDate())
                .append("inductionRejectReason", getInductionRejectReason())
                .append("inductionAuditName", getInductionAuditName())
                .append("inductionAuditDate", getInductionAuditDate())
                .append("inductionEmployee", getInductionEmployee())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
